package com.cn.jinl.domain;

import java.util.ArrayList;
import java.util.List;

public class LineBanMqttExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public LineBanMqttExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andBanNameIsNull() {
            addCriterion("ban_name is null");
            return (Criteria) this;
        }

        public Criteria andBanNameIsNotNull() {
            addCriterion("ban_name is not null");
            return (Criteria) this;
        }

        public Criteria andBanNameEqualTo(String value) {
            addCriterion("ban_name =", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameNotEqualTo(String value) {
            addCriterion("ban_name <>", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameGreaterThan(String value) {
            addCriterion("ban_name >", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameGreaterThanOrEqualTo(String value) {
            addCriterion("ban_name >=", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameLessThan(String value) {
            addCriterion("ban_name <", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameLessThanOrEqualTo(String value) {
            addCriterion("ban_name <=", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameLike(String value) {
            addCriterion("ban_name like", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameNotLike(String value) {
            addCriterion("ban_name not like", value, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameIn(List<String> values) {
            addCriterion("ban_name in", values, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameNotIn(List<String> values) {
            addCriterion("ban_name not in", values, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameBetween(String value1, String value2) {
            addCriterion("ban_name between", value1, value2, "banName");
            return (Criteria) this;
        }

        public Criteria andBanNameNotBetween(String value1, String value2) {
            addCriterion("ban_name not between", value1, value2, "banName");
            return (Criteria) this;
        }

        public Criteria andBanAliasIsNull() {
            addCriterion("ban_alias is null");
            return (Criteria) this;
        }

        public Criteria andBanAliasIsNotNull() {
            addCriterion("ban_alias is not null");
            return (Criteria) this;
        }

        public Criteria andBanAliasEqualTo(String value) {
            addCriterion("ban_alias =", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasNotEqualTo(String value) {
            addCriterion("ban_alias <>", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasGreaterThan(String value) {
            addCriterion("ban_alias >", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasGreaterThanOrEqualTo(String value) {
            addCriterion("ban_alias >=", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasLessThan(String value) {
            addCriterion("ban_alias <", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasLessThanOrEqualTo(String value) {
            addCriterion("ban_alias <=", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasLike(String value) {
            addCriterion("ban_alias like", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasNotLike(String value) {
            addCriterion("ban_alias not like", value, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasIn(List<String> values) {
            addCriterion("ban_alias in", values, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasNotIn(List<String> values) {
            addCriterion("ban_alias not in", values, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasBetween(String value1, String value2) {
            addCriterion("ban_alias between", value1, value2, "banAlias");
            return (Criteria) this;
        }

        public Criteria andBanAliasNotBetween(String value1, String value2) {
            addCriterion("ban_alias not between", value1, value2, "banAlias");
            return (Criteria) this;
        }

        public Criteria andTimeStampIsNull() {
            addCriterion("time_stamp is null");
            return (Criteria) this;
        }

        public Criteria andTimeStampIsNotNull() {
            addCriterion("time_stamp is not null");
            return (Criteria) this;
        }

        public Criteria andTimeStampEqualTo(String value) {
            addCriterion("time_stamp =", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampNotEqualTo(String value) {
            addCriterion("time_stamp <>", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampGreaterThan(String value) {
            addCriterion("time_stamp >", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampGreaterThanOrEqualTo(String value) {
            addCriterion("time_stamp >=", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampLessThan(String value) {
            addCriterion("time_stamp <", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampLessThanOrEqualTo(String value) {
            addCriterion("time_stamp <=", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampLike(String value) {
            addCriterion("time_stamp like", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampNotLike(String value) {
            addCriterion("time_stamp not like", value, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampIn(List<String> values) {
            addCriterion("time_stamp in", values, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampNotIn(List<String> values) {
            addCriterion("time_stamp not in", values, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampBetween(String value1, String value2) {
            addCriterion("time_stamp between", value1, value2, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andTimeStampNotBetween(String value1, String value2) {
            addCriterion("time_stamp not between", value1, value2, "timeStamp");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(String value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(String value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(String value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(String value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(String value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(String value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLike(String value) {
            addCriterion("start_time like", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotLike(String value) {
            addCriterion("start_time not like", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<String> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<String> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(String value1, String value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(String value1, String value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(String value) {
            addCriterion("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(String value) {
            addCriterion("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(String value) {
            addCriterion("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(String value) {
            addCriterion("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(String value) {
            addCriterion("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(String value) {
            addCriterion("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLike(String value) {
            addCriterion("end_time like", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotLike(String value) {
            addCriterion("end_time not like", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<String> values) {
            addCriterion("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<String> values) {
            addCriterion("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(String value1, String value2) {
            addCriterion("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(String value1, String value2) {
            addCriterion("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andMixDoIsNull() {
            addCriterion("mix_do is null");
            return (Criteria) this;
        }

        public Criteria andMixDoIsNotNull() {
            addCriterion("mix_do is not null");
            return (Criteria) this;
        }

        public Criteria andMixDoEqualTo(String value) {
            addCriterion("mix_do =", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoNotEqualTo(String value) {
            addCriterion("mix_do <>", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoGreaterThan(String value) {
            addCriterion("mix_do >", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoGreaterThanOrEqualTo(String value) {
            addCriterion("mix_do >=", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoLessThan(String value) {
            addCriterion("mix_do <", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoLessThanOrEqualTo(String value) {
            addCriterion("mix_do <=", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoLike(String value) {
            addCriterion("mix_do like", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoNotLike(String value) {
            addCriterion("mix_do not like", value, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoIn(List<String> values) {
            addCriterion("mix_do in", values, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoNotIn(List<String> values) {
            addCriterion("mix_do not in", values, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoBetween(String value1, String value2) {
            addCriterion("mix_do between", value1, value2, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixDoNotBetween(String value1, String value2) {
            addCriterion("mix_do not between", value1, value2, "mixDo");
            return (Criteria) this;
        }

        public Criteria andMixTimeIsNull() {
            addCriterion("mix_time is null");
            return (Criteria) this;
        }

        public Criteria andMixTimeIsNotNull() {
            addCriterion("mix_time is not null");
            return (Criteria) this;
        }

        public Criteria andMixTimeEqualTo(String value) {
            addCriterion("mix_time =", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeNotEqualTo(String value) {
            addCriterion("mix_time <>", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeGreaterThan(String value) {
            addCriterion("mix_time >", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeGreaterThanOrEqualTo(String value) {
            addCriterion("mix_time >=", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeLessThan(String value) {
            addCriterion("mix_time <", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeLessThanOrEqualTo(String value) {
            addCriterion("mix_time <=", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeLike(String value) {
            addCriterion("mix_time like", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeNotLike(String value) {
            addCriterion("mix_time not like", value, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeIn(List<String> values) {
            addCriterion("mix_time in", values, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeNotIn(List<String> values) {
            addCriterion("mix_time not in", values, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeBetween(String value1, String value2) {
            addCriterion("mix_time between", value1, value2, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixTimeNotBetween(String value1, String value2) {
            addCriterion("mix_time not between", value1, value2, "mixTime");
            return (Criteria) this;
        }

        public Criteria andMixFlagIsNull() {
            addCriterion("mix_flag is null");
            return (Criteria) this;
        }

        public Criteria andMixFlagIsNotNull() {
            addCriterion("mix_flag is not null");
            return (Criteria) this;
        }

        public Criteria andMixFlagEqualTo(String value) {
            addCriterion("mix_flag =", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagNotEqualTo(String value) {
            addCriterion("mix_flag <>", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagGreaterThan(String value) {
            addCriterion("mix_flag >", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagGreaterThanOrEqualTo(String value) {
            addCriterion("mix_flag >=", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagLessThan(String value) {
            addCriterion("mix_flag <", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagLessThanOrEqualTo(String value) {
            addCriterion("mix_flag <=", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagLike(String value) {
            addCriterion("mix_flag like", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagNotLike(String value) {
            addCriterion("mix_flag not like", value, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagIn(List<String> values) {
            addCriterion("mix_flag in", values, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagNotIn(List<String> values) {
            addCriterion("mix_flag not in", values, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagBetween(String value1, String value2) {
            addCriterion("mix_flag between", value1, value2, "mixFlag");
            return (Criteria) this;
        }

        public Criteria andMixFlagNotBetween(String value1, String value2) {
            addCriterion("mix_flag not between", value1, value2, "mixFlag");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}